{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import matplotlib.pyplot as plt\n",
    "from PIL import Image\n",
    "import numpy as np\n",
    "import pickle\n",
    "import gzip\n",
    "\n",
    "mnistpklPath = '/Users/kongkong/PycharmProjects/aiinner/ai/code-of-enterprise-ai-technology-book/chapter14_MNIST/mnist.pkl.gz'\n",
    "# f = gzip.open('mnist.pkl.gz', 'rb')\n",
    "f = gzip.open(mnistpklPath, 'rb')\n",
    "training_data, validation_data, test_data = pickle.load(f, encoding=\"latin1\")\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.image.AxesImage at 0x11ed66c70>"
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "img0 = training_data[0]\n",
    "\n",
    "plt.imshow(img0,cmap='gray')\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "Invalid shape (50000,) for image data",
     "output_type": "error",
     "traceback": [
      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[0;31mTypeError\u001B[0m                                 Traceback (most recent call last)",
      "\u001B[0;32m/var/folders/4v/hdhlnvs90xz9297_572zgsy80000gn/T/ipykernel_2289/3328656474.py\u001B[0m in \u001B[0;36m<module>\u001B[0;34m\u001B[0m\n\u001B[1;32m      1\u001B[0m \u001B[0mimg1\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mtraining_data\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m----> 2\u001B[0;31m \u001B[0mplt\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mimshow\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mimg1\u001B[0m \u001B[0;34m,\u001B[0m\u001B[0mcmap\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;34m'gray'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/_api/deprecation.py\u001B[0m in \u001B[0;36mwrapper\u001B[0;34m(*args, **kwargs)\u001B[0m\n\u001B[1;32m    454\u001B[0m                 \u001B[0;34m\"parameter will become keyword-only %(removal)s.\"\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    455\u001B[0m                 name=name, obj_type=f\"parameter of {func.__name__}()\")\n\u001B[0;32m--> 456\u001B[0;31m         \u001B[0;32mreturn\u001B[0m \u001B[0mfunc\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m    457\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    458\u001B[0m     \u001B[0;31m# Don't modify *func*'s signature, as boilerplate.py needs it.\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/pyplot.py\u001B[0m in \u001B[0;36mimshow\u001B[0;34m(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, interpolation_stage, filternorm, filterrad, resample, url, data, **kwargs)\u001B[0m\n\u001B[1;32m   2638\u001B[0m         \u001B[0minterpolation_stage\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;32mNone\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mfilternorm\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;32mTrue\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mfilterrad\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;36m4.0\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   2639\u001B[0m         resample=None, url=None, data=None, **kwargs):\n\u001B[0;32m-> 2640\u001B[0;31m     __ret = gca().imshow(\n\u001B[0m\u001B[1;32m   2641\u001B[0m         \u001B[0mX\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mcmap\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mcmap\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mnorm\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mnorm\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0maspect\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0maspect\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   2642\u001B[0m         \u001B[0minterpolation\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0minterpolation\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0malpha\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0malpha\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mvmin\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mvmin\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/_api/deprecation.py\u001B[0m in \u001B[0;36mwrapper\u001B[0;34m(*args, **kwargs)\u001B[0m\n\u001B[1;32m    454\u001B[0m                 \u001B[0;34m\"parameter will become keyword-only %(removal)s.\"\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    455\u001B[0m                 name=name, obj_type=f\"parameter of {func.__name__}()\")\n\u001B[0;32m--> 456\u001B[0;31m         \u001B[0;32mreturn\u001B[0m \u001B[0mfunc\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m    457\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    458\u001B[0m     \u001B[0;31m# Don't modify *func*'s signature, as boilerplate.py needs it.\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/__init__.py\u001B[0m in \u001B[0;36minner\u001B[0;34m(ax, data, *args, **kwargs)\u001B[0m\n\u001B[1;32m   1410\u001B[0m     \u001B[0;32mdef\u001B[0m \u001B[0minner\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0max\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mdata\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;32mNone\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   1411\u001B[0m         \u001B[0;32mif\u001B[0m \u001B[0mdata\u001B[0m \u001B[0;32mis\u001B[0m \u001B[0;32mNone\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m-> 1412\u001B[0;31m             \u001B[0;32mreturn\u001B[0m \u001B[0mfunc\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0max\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m*\u001B[0m\u001B[0mmap\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0msanitize_sequence\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0margs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m   1413\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   1414\u001B[0m         \u001B[0mbound\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mnew_sig\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mbind\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0max\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/axes/_axes.py\u001B[0m in \u001B[0;36mimshow\u001B[0;34m(self, X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, interpolation_stage, filternorm, filterrad, resample, url, **kwargs)\u001B[0m\n\u001B[1;32m   5486\u001B[0m                               **kwargs)\n\u001B[1;32m   5487\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m-> 5488\u001B[0;31m         \u001B[0mim\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mset_data\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mX\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m   5489\u001B[0m         \u001B[0mim\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mset_alpha\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0malpha\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   5490\u001B[0m         \u001B[0;32mif\u001B[0m \u001B[0mim\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mget_clip_path\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m)\u001B[0m \u001B[0;32mis\u001B[0m \u001B[0;32mNone\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/anaconda3/envs/python39ProjectML01/lib/python3.9/site-packages/matplotlib/image.py\u001B[0m in \u001B[0;36mset_data\u001B[0;34m(self, A)\u001B[0m\n\u001B[1;32m    713\u001B[0m         if not (self._A.ndim == 2\n\u001B[1;32m    714\u001B[0m                 or self._A.ndim == 3 and self._A.shape[-1] in [3, 4]):\n\u001B[0;32m--> 715\u001B[0;31m             raise TypeError(\"Invalid shape {} for image data\"\n\u001B[0m\u001B[1;32m    716\u001B[0m                             .format(self._A.shape))\n\u001B[1;32m    717\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;31mTypeError\u001B[0m: Invalid shape (50000,) for image data"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "img1 = training_data[1]\n",
    "plt.imshow(img1 ,cmap='gray')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "tuple"
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(training_data)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "numpy.ndarray"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(training_data[1])"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n"
     ]
    }
   ],
   "source": [
    "print(training_data[0].ndim)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(50000, 784)\n"
     ]
    }
   ],
   "source": [
    "print(training_data[0].shape)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [
    {
     "data": {
      "text/plain": "dtype('float32')"
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "training_data[0].dtype"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [
    {
     "data": {
      "text/plain": "4"
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "training_data[0].itemsize"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "outputs": [
    {
     "data": {
      "text/plain": "array([0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.19921875, 0.62109375, 0.98828125,\n       0.62109375, 0.1953125 , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.1875    ,\n       0.9296875 , 0.984375  , 0.984375  , 0.984375  , 0.92578125,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.2109375 , 0.88671875, 0.98828125, 0.984375  ,\n       0.93359375, 0.91015625, 0.984375  , 0.22265625, 0.0234375 ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.0390625 , 0.234375  , 0.875     ,\n       0.984375  , 0.98828125, 0.984375  , 0.7890625 , 0.328125  ,\n       0.984375  , 0.98828125, 0.4765625 , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.63671875, 0.984375  , 0.984375  , 0.984375  , 0.98828125,\n       0.984375  , 0.984375  , 0.375     , 0.73828125, 0.98828125,\n       0.65234375, 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.19921875, 0.9296875 , 0.98828125,\n       0.98828125, 0.7421875 , 0.4453125 , 0.98828125, 0.890625  ,\n       0.18359375, 0.30859375, 0.99609375, 0.65625   , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.1875    ,\n       0.9296875 , 0.984375  , 0.984375  , 0.69921875, 0.046875  ,\n       0.29296875, 0.47265625, 0.08203125, 0.        , 0.        ,\n       0.98828125, 0.94921875, 0.1953125 , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.1484375 , 0.64453125, 0.98828125, 0.91015625,\n       0.8125    , 0.328125  , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.98828125, 0.984375  ,\n       0.64453125, 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.02734375, 0.6953125 ,\n       0.984375  , 0.9375    , 0.27734375, 0.07421875, 0.109375  ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.98828125, 0.984375  , 0.76171875, 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.22265625, 0.984375  , 0.984375  , 0.24609375,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.98828125,\n       0.984375  , 0.76171875, 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.7734375 ,\n       0.98828125, 0.7421875 , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.99609375, 0.98828125, 0.765625  ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.296875  , 0.9609375 , 0.984375  , 0.4375    ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.98828125, 0.984375  , 0.578125  , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.33203125,\n       0.984375  , 0.8984375 , 0.09765625, 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.02734375, 0.52734375, 0.98828125, 0.7265625 ,\n       0.046875  , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.33203125, 0.984375  , 0.87109375,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.02734375, 0.51171875,\n       0.984375  , 0.87890625, 0.27734375, 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.33203125, 0.984375  , 0.56640625, 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.1875    , 0.64453125, 0.984375  , 0.67578125, 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.3359375 , 0.98828125,\n       0.87890625, 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.4453125 , 0.9296875 , 0.98828125,\n       0.6328125 , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.33203125, 0.984375  , 0.97265625, 0.5703125 ,\n       0.1875    , 0.11328125, 0.33203125, 0.6953125 , 0.87890625,\n       0.98828125, 0.87109375, 0.65234375, 0.21875   , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.33203125,\n       0.984375  , 0.984375  , 0.984375  , 0.89453125, 0.83984375,\n       0.984375  , 0.984375  , 0.984375  , 0.765625  , 0.5078125 ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.109375  , 0.77734375, 0.984375  ,\n       0.984375  , 0.98828125, 0.984375  , 0.984375  , 0.91015625,\n       0.56640625, 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.09765625, 0.5       , 0.984375  , 0.98828125,\n       0.984375  , 0.55078125, 0.14453125, 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        , 0.        ,\n       0.        , 0.        , 0.        , 0.        ], dtype=float32)"
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "training_data[0][1]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "outputs": [
    {
     "data": {
      "text/plain": "numpy.ndarray"
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(training_data[0][1])"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.image.AxesImage at 0x11efea1f0>"
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "img01 = training_data[0][1]\n",
    "\n",
    "img012801 = np.split(img01,28,axis=0)\n",
    "# img012801\n",
    "plt.imshow(img012801,cmap='gray')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "outputs": [
    {
     "data": {
      "text/plain": "<matplotlib.image.AxesImage at 0x11ee72430>"
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "img03 = training_data[0][3]\n",
    "img032801 = np.split(img03,28,axis=0)\n",
    "# img012801\n",
    "plt.imshow(img032801,cmap='gray')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAANnElEQVR4nO3dX6xV9ZnG8edRW/9RIwzgMBanBbkYNcaOBCcpESe16HghVNMREieIzdCYatqkJhrGWBM1aSbTNt7YBNBAR0aDAQc0zVhCqsgN8WgYRbFFCdPSQ8CGGCzRMMI7F2cxOcWzf+uw/60N7/eTnOx91rvXXm/24WGtvX97rZ8jQgDOfGc13QCA/iDsQBKEHUiCsANJEHYgiXP6uTHbfPQP9FhEeKzlHe3Zbd9s+ze237f9YCfPBaC33O44u+2zJf1W0jcl7ZP0uqTFEfFuYR327ECP9WLPPkfS+xGxJyKOSnpO0oIOng9AD3US9ksl/X7U7/uqZX/G9jLbQ7aHOtgWgA518gHdWIcKnztMj4gVklZIHMYDTepkz75P0vRRv39Z0nBn7QDolU7C/rqkWba/avuLkhZJ2tSdtgB0W9uH8RHxme17Jb0s6WxJT0fEO13rDEBXtT301tbGeM8O9FxPvlQD4PRB2IEkCDuQBGEHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSQIO5AEYQeSIOxAEoQdSIKwA0kQdiAJwg4kQdiBJAg7kARhB5Ig7EAShB1IgrADSRB2IAnCDiRB2IEkCDuQBGEHkiDsQBKEHUii7fnZJcn2XkkfSzom6bOImN2NpgB0X0dhr/x9RPyxC88DoIc4jAeS6DTsIelXtt+wvWysB9heZnvI9lCH2wLQAUdE+yvbfxURw7anStos6b6I2Fp4fPsbAzAuEeGxlne0Z4+I4er2oKQXJM3p5PkA9E7bYbd9oe0vnbgvab6knd1qDEB3dfJp/CWSXrB94nn+IyL+qytdAei6jt6zn/LGeM8O9FxP3rMDOH0QdiAJwg4kQdiBJAg7kEQ3ToTBALvuuuuK9TvvvLNYnzdvXrF+5ZVXnnJPJ9x///3F+vDwcLE+d+7cYv2ZZ55pWdu+fXtx3TMRe3YgCcIOJEHYgSQIO5AEYQeSIOxAEoQdSIKz3s4Ad9xxR8vaE088UVx38uTJxXp1CnNLr7zySrE+ZcqUlrUrrriiuG6dut6ef/75lrVFixZ1tO1BxllvQHKEHUiCsANJEHYgCcIOJEHYgSQIO5AE57MPgHPOKf8ZZs8uT467cuXKlrULLriguO7WrS0n8JEkPfroo8X6tm3bivVzzz23ZW3dunXFdefPn1+s1xkaYsax0dizA0kQdiAJwg4kQdiBJAg7kARhB5Ig7EASjLMPgLprt69atart5968eXOxXjoXXpIOHz7c9rbrnr/TcfR9+/YV62vWrOno+c80tXt220/bPmh756hlk2xvtr27up3Y2zYBdGo8h/GrJd180rIHJW2JiFmStlS/AxhgtWGPiK2SDp20eIGkE8dIayQt7G5bALqt3ffsl0TEfkmKiP22p7Z6oO1lkpa1uR0AXdLzD+giYoWkFRIXnASa1O7Q2wHb0ySpuj3YvZYA9EK7Yd8kaUl1f4mkjd1pB0Cv1F433vazkm6QNFnSAUk/kvSfktZJukzS7yR9OyJO/hBvrOdKeRhfd0748uXLi/W6v9GTTz7ZsvbQQw8V1+10HL3Orl27WtZmzZrV0XPffvvtxfrGjTn3Qa2uG1/7nj0iFrcofaOjjgD0FV+XBZIg7EAShB1IgrADSRB2IAlOce2Chx9+uFivG1o7evRosf7yyy8X6w888EDL2ieffFJct855551XrNedpnrZZZe1rNVNufzYY48V61mH1trFnh1IgrADSRB2IAnCDiRB2IEkCDuQBGEHkqg9xbWrGzuNT3G9+OKLW9bee++94rqTJ08u1l966aVifeHChcV6Jy6//PJife3atcX6tdde2/a2169fX6zffffdxfqRI0fa3vaZrNUpruzZgSQIO5AEYQeSIOxAEoQdSIKwA0kQdiAJxtnHaerUljNcaXh4uKPnnjFjRrH+6aefFutLly5tWbv11luL61511VXF+oQJE4r1un8/pfptt91WXPfFF18s1jE2xtmB5Ag7kARhB5Ig7EAShB1IgrADSRB2IAnG2cepdD57aVpiSZoyZUqxXnf99F7+jeq+I1DX27Rp04r1Dz/8sO110Z62x9ltP237oO2do5Y9YvsPtndUP7d0s1kA3Teew/jVkm4eY/nPIuKa6ueX3W0LQLfVhj0itko61IdeAPRQJx/Q3Wv7reowf2KrB9leZnvI9lAH2wLQoXbD/nNJMyVdI2m/pJ+0emBErIiI2RExu81tAeiC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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAOQ0lEQVR4nO3dcawV5ZnH8d8jokFAAwuSG2sWtpiowSiE6KLNhk1DRUwETKxFYlhWvY2poZjVSLp/gG6MYrZsjCZNbiOW3XQlTUAkjW5RJEurpgENq1hoQXO3UK7cEDWlamCFZ/+4w+4t3HnnembmzIHn+0luzjnznDnz5OiPmXPeOfOauwvAue+8phsA0B6EHQiCsANBEHYgCMIOBHF+OzdmZnz1D9TM3W2o5aX27GY218x+a2b7zWxFmdcCUC9rdZzdzEZI+p2kOZIOStohaZG7/yaxDnt2oGZ17Nmvl7Tf3T909+OS1kuaX+L1ANSoTNgvk3Rg0OOD2bI/Y2bdZrbTzHaW2BaAksp8QTfUocIZh+nu3iOpR+IwHmhSmT37QUmXD3r8NUmHyrUDoC5lwr5D0hVmNsXMLpD0HUmbq2kLQNVaPox39y/N7AFJv5A0QtJad3+/ss4AVKrlobeWNsZndqB2tZxUA+DsQdiBIAg7EARhB4Ig7EAQhB0IgrADQRB2IAjCDgRB2IEgCDsQBGEHgiDsQBCEHQiCsANBEHYgCMIOBEHYgSAIOxAEYQeCIOxAEIQdCIKwA0EQdiAIwg4EQdiBIAg7EARhB4Ig7EAQLU/ZDEjS2LFjk/UxY8bk1m699dbkuhMnTkzW16xZk6wfO3YsWY+mVNjNrFfSUUknJH3p7jOraApA9arYs/+tux+p4HUA1IjP7EAQZcPukraY2dtm1j3UE8ys28x2mtnOktsCUELZw/ib3P2QmV0q6VUz2+vu2wc/wd17JPVIkpl5ye0BaFGpPbu7H8pu+yW9KOn6KpoCUL2Ww25mo81s7Kn7kr4laXdVjQGoVpnD+EmSXjSzU6/z7+7+H5V0hbaZPHlysv7II48k67NmzUrWp02b9lVbGraurq5kfdmyZbVt+2zUctjd/UNJ11bYC4AaMfQGBEHYgSAIOxAEYQeCIOxAEObevpPaOIOuHldeeWVubfny5cl1Fy9enKyPGjUqWc+GXnMdOHAgt3b06NHkuldddVWyfuRI+vdXs2fPzq3t3bs3ue7ZzN2H/I/Cnh0IgrADQRB2IAjCDgRB2IEgCDsQBGEHguBS0h3gkksuSdZXr16drN955525taJLPZe1b9++ZP3mm2/OrY0cOTK5btFY+IQJE0rVo2HPDgRB2IEgCDsQBGEHgiDsQBCEHQiCsANBMM7eARYuXJis33vvvW3q5EwffPBBsj5nzpxkPfV79qlTp7bUE1rDnh0IgrADQRB2IAjCDgRB2IEgCDsQBGEHgmCcvQPccccdtb12b29vsr5jx45kvWjK5tQ4epGi68KjWoV7djNba2b9ZrZ70LLxZvaqme3LbsfV2yaAsoZzGP8TSXNPW7ZC0lZ3v0LS1uwxgA5WGHZ33y7p49MWz5e0Lru/TtKCatsCULVWP7NPcvc+SXL3PjO7NO+JZtYtqbvF7QCoSO1f0Ll7j6QeiYkdgSa1OvR22My6JCm77a+uJQB1aDXsmyUtye4vkfRSNe0AqEvhYbyZvSBptqQJZnZQ0kpJT0r6mZndI+n3kuobKA7gvvvuS9a7u9NfeWzZsiW3tn///uS6/f3NHZRNmjSpsW1HVBh2d1+UU/pmxb0AqBGnywJBEHYgCMIOBEHYgSAIOxAEP3HtAIcOHUrWV61a1Z5G2mzWrFlNtxAKe3YgCMIOBEHYgSAIOxAEYQeCIOxAEIQdCIJx9uCWLVuWrI8ePbq2bV9zzTWl1n/zzTeT9bfeeqvU659r2LMDQRB2IAjCDgRB2IEgCDsQBGEHgiDsQBCMs58FLrroomT96quvzq2tXLkyue68efNa6umU885L7y9OnjzZ8msX/c5/6dKlyfqJEyda3va5iD07EARhB4Ig7EAQhB0IgrADQRB2IAjCDgTBOHsbjBw5MlmfPn16sr5hw4ZkvaurK7f2xRdfJNctGssu+k343Llzk/WicwRSzj8//b/n7bffnqw//fTTubXjx4+31NPZrHDPbmZrzazfzHYPWrbKzP5gZruyv3JnZgCo3XAO438iaah/vv/F3a/L/l6uti0AVSsMu7tvl/RxG3oBUKMyX9A9YGbvZof54/KeZGbdZrbTzHaW2BaAkloN+48kfV3SdZL6JP0w74nu3uPuM919ZovbAlCBlsLu7ofd/YS7n5T0Y0nXV9sWgKq1FHYzGzzWs1DS7rznAugM5u7pJ5i9IGm2pAmSDktamT2+TpJL6pX0XXfvK9yYWXpjZ6kLLrggWS8ai964cWOp7T/66KO5tddffz257htvvJGsjx8/Plkvev1p06Yl63VavHhxbm3Tpk3JdY8dO1ZxN+3j7jbU8sKTatx90RCLnyvdEYC24nRZIAjCDgRB2IEgCDsQBGEHgigceqt0Y2fx0FvqZ6qPPfZYct2HH3641LZfeeWVZP3uu+/OrX366afJdSdOnJisv/xy+jdOM2bMSNZTPyV96qmnkusWDdvNnz8/WU957bXXkvXVq1cn65988knL25akXbt2lVo/JW/ojT07EARhB4Ig7EAQhB0IgrADQRB2IAjCDgTBOHtmxIgRyfrjjz+eW3vooYeS63722WfJ+ooVK5L19evXJ+upMd+ZM9MXCHr22WeT9aL19+/fn6zff//9ubVt27Yl17344ouT9RtvvDFZT/3E9bbbbkuuO3r06GS9yIEDB5L1KVOmlHr9FMbZgeAIOxAEYQeCIOxAEIQdCIKwA0EQdiAIxtkzqfFgSXrmmWdya59//nly3e7u7mR9y5YtyfoNN9yQrC9dujS3dssttyTXHTVqVLJe9Fv9559/PlkvGm9uyqJFQ100+f/dddddpV7/wQcfTNaLzk8og3F2IDjCDgRB2IEgCDsQBGEHgiDsQBCEHQiCcfZMX196xunU9dWLpvfdu3dvsl702+mpU6cm62WsWrUqWX/iiSeS9RMnTlTYDarQ8ji7mV1uZtvMbI+ZvW9m38+WjzezV81sX3Y7ruqmAVRnOIfxX0r6B3e/StJfS/qemV0taYWkre5+haSt2WMAHaow7O7e5+7vZPePStoj6TJJ8yWty562TtKCmnoEUIHzv8qTzWyypOmSfi1pkrv3SQP/IJjZpTnrdEtKnxwOoHbDDruZjZG0QdJyd/+j2ZDfAZzB3Xsk9WSv0bFf0AHnumENvZnZSA0E/afuvjFbfNjMurJ6l6T+eloEUIXCPbsN7MKfk7TH3dcMKm2WtETSk9ntS7V02CYfffRRsp4aervwwguT61577bUt9XRK0bTJ27dvz61t2rQpuW5vb2+yztDauWM4h/E3Sbpb0ntmtitb9gMNhPxnZnaPpN9LuqOWDgFUojDs7v4rSXkf0L9ZbTsA6sLpskAQhB0IgrADQRB2IAjCDgTBT1wzY8eOTdYXLFiQW5sxY0Zy3f7+9PlGa9euTdZTUzJL0vHjx5N1xMKlpIHgCDsQBGEHgiDsQBCEHQiCsANBEHYgCMbZgXMM4+xAcIQdCIKwA0EQdiAIwg4EQdiBIAg7EARhB4Ig7EAQhB0IgrADQRB2IAjCDgRB2IEgCDsQRGHYzexyM9tmZnvM7H0z+362fJWZ/cHMdmV/8+pvF0CrCi9eYWZdkrrc/R0zGyvpbUkLJH1b0p/c/Z+HvTEuXgHULu/iFcOZn71PUl92/6iZ7ZF0WbXtAajbV/rMbmaTJU2X9Ots0QNm9q6ZrTWzcTnrdJvZTjPbWa5VAGUM+xp0ZjZG0n9KetzdN5rZJElHJLmkf9LAof7fF7wGh/FAzfIO44cVdjMbKennkn7h7muGqE+W9HN3n1bwOoQdqFnLF5w0M5P0nKQ9g4OefXF3ykJJu8s2CaA+w/k2/huSfinpPUkns8U/kLRI0nUaOIzvlfTd7Mu81GuxZwdqVuowviqEHagf140HgiPsQBCEHQiCsANBEHYgCMIOBEHYgSAIOxAEYQeCIOxAEIQdCIKwA0EQdiAIwg4EUXjByYodkfTfgx5PyJZ1ok7trVP7kuitVVX29pd5hbb+nv2MjZvtdPeZjTWQ0Km9dWpfEr21ql29cRgPBEHYgSCaDntPw9tP6dTeOrUvid5a1ZbeGv3MDqB9mt6zA2gTwg4E0UjYzWyumf3WzPab2YomeshjZr1m9l42DXWj89Nlc+j1m9nuQcvGm9mrZrYvux1yjr2GeuuIabwT04w3+t41Pf152z+zm9kISb+TNEfSQUk7JC1y99+0tZEcZtYraaa7N34Chpn9jaQ/SfrXU1NrmdlTkj529yezfyjHufsjHdLbKn3Fabxr6i1vmvG/U4PvXZXTn7eiiT379ZL2u/uH7n5c0npJ8xvoo+O5+3ZJH5+2eL6kddn9dRr4n6XtcnrrCO7e5+7vZPePSjo1zXij712ir7ZoIuyXSTow6PFBddZ87y5pi5m9bWbdTTczhEmnptnKbi9tuJ/TFU7j3U6nTTPeMe9dK9Ofl9VE2IeamqaTxv9ucvcZkm6R9L3scBXD8yNJX9fAHIB9kn7YZDPZNOMbJC139z822ctgQ/TVlvetibAflHT5oMdfk3SogT6G5O6Hstt+SS9q4GNHJzl8agbd7La/4X7+j7sfdvcT7n5S0o/V4HuXTTO+QdJP3X1jtrjx926ovtr1vjUR9h2SrjCzKWZ2gaTvSNrcQB9nMLPR2RcnMrPRkr6lzpuKerOkJdn9JZJearCXP9Mp03jnTTOuht+7xqc/d/e2/0map4Fv5D+Q9I9N9JDT119J+q/s7/2me5P0ggYO6/5HA0dE90j6C0lbJe3Lbsd3UG//poGpvd/VQLC6GurtGxr4aPiupF3Z37ym37tEX2153zhdFgiCM+iAIAg7EARhB4Ig7EAQhB0IgrADQRB2IIj/BYUFZKWUGiwbAAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n = 7\n",
    "f = plt.figure(9)\n",
    "for i in range(0,n):\n",
    "    f.add_subplot(1, n, i + 1)\n",
    "    imgt = np.split(training_data[0][i],28,axis=0)\n",
    "    plt.imshow(imgt,cmap='gray')\n",
    "    plt.show(block=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}